// middleware.js
module.exports = (req, res, next) => {
  const originalSend = res.send;
  res.send = function(body) {
    try {
      // 判断是否为JSON响应
      const contentType = res.getHeader('Content-Type');
      const isJson = contentType && contentType.includes('application/json');
      
      // 成功状态码范围（包括200）
      const isSuccess = res.statusCode >= 200 && res.statusCode < 300;
      
      // 只对JSON响应进行包装
      if (isJson && isSuccess) {
        const data = typeof body === 'string' ? JSON.parse(body) : body;
        
        const wrappedData = {
          status: 'success',
          code: res.statusCode,
          data,
          timestamp: new Date().toISOString(),
        };
        
        originalSend.call(this, JSON.stringify(wrappedData));
        return;
      }
    } catch (error) {
      console.error('Error wrapping response:', error);
    }
    
    // 非JSON或错误响应保持原始格式
    originalSend.call(this, body);
  };
  
  next();
};

